package com.lane.innerclass;

/*
内部类(Inner Class)就是定义在另外一个类里面的类，与之对应，包涵内部类的类被称为外部类。
内部类的作用如下：
1.内部类提供了更好的封装， 可以把内部类隐藏在外部类之内，不允许同一个包中的其他类访问该类。
2.内部类的方法可以直接访问外部类的所有数据，包含私有的数据。
3.内部类所实现的功能使用外部类同样可以实现，只是有时使用内部类更方便。

内部类的种类： 成员内部类  静态内部类  方法内部类   匿名内部类
*/

/*
Java中的静态内部类 
1、静态内部类不能直接访问外部类的非静态成员，但可以通过 new 外部类().成员 的方式访问 
2、如果外部类的静态成员与内部类的成员名称相同，可通过“类名.静态成员”访问外部类的静态成员;
如果外部类的静态成员与内部类的成员名称不相同，则可通过“成员名”直接调用外部类的静态成员
3、创建静态内部类的对象时，不需要外部类的对象，可以直接创建形式为: 内部类 对象名= new 内部类();
*/

//外部类
public class StaticInnerClass {
    static int b=1; //外部类的静态变量
    
    //静态内部类
    public static class SInner{
    	int b=2; //内部类的变量
    	public void test(){
    		System.out.println();
    	}
    }
    
	
	public static void main(String[] args) {
		// TODO 自动生成的方法存根

	}
}